package spark_core.operate_transform.singlevalue;

import java.util.Arrays;
import java.util.List;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;

/**
 * @author shihb
 * @date 2020/1/7 11:43
 * glom，作用是将一个分区形成一个数组,生成新的RDD
 * 需求 创建一个4个分区的RDD，并将每个分区的数据放在一个数组里面
 *
 */
public class GlomDemo {

  public static void main(String[] args) {
    //local模式,创建SparkConf对象设定spark的部署环境
    SparkConf sparkConf = new SparkConf().setMaster("local[*]").setAppName("mark rdd");
    //创建spark上下文对象（这边是java上下文）
    JavaSparkContext sc = new JavaSparkContext(sparkConf);

    JavaRDD<Integer> arrayRdd = sc.parallelize(Arrays.asList(1, 2, 3, 4,5,6,7,8,9,10,11,12,13,14,15,16),4);
    JavaRDD<List<Integer>> glomRdd = arrayRdd.glom();
    glomRdd.collect().forEach(System.out::println);
    //停止
    sc.stop();


  }
}
